﻿using System;
using DocumentFormat.OpenXml.Packaging;
using A = DocumentFormat.OpenXml.Drawing;

namespace SpreadsheetLight.Drawing
{
    internal class SLDrawingTool
    {
        internal static ImagePartType GetImagePartType(string ImageFileName)
        {
            ImagePartType ipt = ImagePartType.Png;

            switch (ImageFileName.Substring(ImageFileName.LastIndexOf(".") + 1).ToLower())
            {
                case "bmp":
                    ipt = ImagePartType.Bmp;
                    break;
                case "emf":
                    ipt = ImagePartType.Emf;
                    break;
                case "gif":
                    ipt = ImagePartType.Gif;
                    break;
                case "ico":
                    ipt = ImagePartType.Icon;
                    break;
                case "jpg":
                case "jpeg":
                    ipt = ImagePartType.Jpeg;
                    break;
                case "pcx":
                    ipt = ImagePartType.Pcx;
                    break;
                case "png":
                    ipt = ImagePartType.Png;
                    break;
                case "tif":
                case "tiff":
                    ipt = ImagePartType.Tiff;
                    break;
                case "wmf":
                    ipt = ImagePartType.Wmf;
                    break;
            }

            return ipt;
        }

        internal static int CalculateAlpha(decimal Transparency)
        {
            if (Transparency > 100m) Transparency = 100m;
            if (Transparency < 0m) Transparency = 0m;
            return Convert.ToInt32((100m - Transparency) * 1000m);
        }

        internal static int CalculatePercentage(decimal Size)
        {
            return Convert.ToInt32(Size * 1000m);
        }

        internal static long CalculateCoordinate(decimal PointLength)
        {
            if (PointLength < -2147483648m) PointLength = -2147483648m;
            if (PointLength > 2147483647m) PointLength = 2147483647m;
            return Convert.ToInt64(PointLength * (decimal)SLConstants.PointToEMU);
        }

        internal static long CalculatePositiveCoordinate(decimal PointLength)
        {
            if (PointLength < 0m) PointLength = 0m;
            // 2147483647 = 2^31 - 1
            if (PointLength > 2147483647m) PointLength = 2147483647m;
            return Convert.ToInt64(PointLength * (decimal)SLConstants.PointToEMU);
        }

        internal static int CalculatePositiveFixedAngle(decimal Angle)
        {
            int iAngle = Convert.ToInt32(Angle * (decimal)SLConstants.DegreeToAngleRepresentation);
            if (iAngle < 0) iAngle = 0;
            if (iAngle >= 21600000) iAngle = (21600000 - 1);
            return iAngle;
        }

        internal static int CalculateFixedAngle(decimal Angle)
        {
            int iAngle = Convert.ToInt32(Angle * (decimal)SLConstants.DegreeToAngleRepresentation);
            if (iAngle <= -5400000) iAngle = (-5400000 + 1);
            if (iAngle >= 5400000) iAngle = (5400000 - 1);
            return iAngle;
        }

        internal static int CalculatePositiveFixedPercentage(decimal Percentage)
        {
            if (Percentage < 0m) Percentage = 0m;
            if (Percentage > 100m) Percentage = 100m;
            return Convert.ToInt32(Percentage * 1000m);
        }

        internal static int CalculateFovAngle(decimal Angle)
        {
            if (Angle < 0m) Angle = 0m;
            if (Angle > 180m) Angle = 180m;
            return Convert.ToInt32(Angle * (decimal)SLConstants.DegreeToAngleRepresentation);
        }

        internal static string ConvertToVmlTitle(A.PresetPatternValues Preset)
        {
            string result = string.Empty;

            switch (Preset)
            {
                case A.PresetPatternValues.Cross:
                    // this isn't in the list, so I don't know the actual text. We'll guess...
                    result = "Cross";
                    break;
                case A.PresetPatternValues.DarkDownwardDiagonal:
                    result = "Dark downward diagonal";
                    break;
                case A.PresetPatternValues.DarkHorizontal:
                    result = "Dark horizontal";
                    break;
                case A.PresetPatternValues.DarkUpwardDiagonal:
                    result = "Dark upward diagonal";
                    break;
                case A.PresetPatternValues.DarkVertical:
                    result = "Dark vertical";
                    break;
                case A.PresetPatternValues.DashedDownwardDiagonal:
                    result = "Dashed downward diagonal";
                    break;
                case A.PresetPatternValues.DashedHorizontal:
                    result = "Dashed horizontal";
                    break;
                case A.PresetPatternValues.DashedUpwardDiagonal:
                    result = "Dashed upward diagonal";
                    break;
                case A.PresetPatternValues.DashedVertical:
                    result = "Dashed vertical";
                    break;
                case A.PresetPatternValues.DiagonalBrick:
                    result = "Diagonal brick";
                    break;
                case A.PresetPatternValues.DiagonalCross:
                    // this isn't in the list, so I don't know the actual text. We'll guess...
                    result = "Diagonal cross";
                    break;
                case A.PresetPatternValues.Divot:
                    result = "Divot";
                    break;
                case A.PresetPatternValues.DotGrid:
                    result = "Dotted grid";
                    break;
                case A.PresetPatternValues.DottedDiamond:
                    result = "Dotted diamond";
                    break;
                case A.PresetPatternValues.DownwardDiagonal:
                    // this isn't in the list, so I don't know the actual text. We'll guess...
                    result = "Downward diagonal";
                    break;
                case A.PresetPatternValues.Horizontal:
                    // this isn't in the list, so I don't know the actual text. We'll guess...
                    result = "Horizontal";
                    break;
                case A.PresetPatternValues.HorizontalBrick:
                    result = "Horizontal brick";
                    break;
                case A.PresetPatternValues.LargeCheck:
                    result = "Large checker board";
                    break;
                case A.PresetPatternValues.LargeConfetti:
                    result = "Large confetti";
                    break;
                case A.PresetPatternValues.LargeGrid:
                    result = "Large grid";
                    break;
                case A.PresetPatternValues.LightDownwardDiagonal:
                    result = "Light downward diagonal";
                    break;
                case A.PresetPatternValues.LightHorizontal:
                    result = "Light horizontal";
                    break;
                case A.PresetPatternValues.LightUpwardDiagonal:
                    result = "Light upward diagonal";
                    break;
                case A.PresetPatternValues.LightVertical:
                    result = "Light vertical";
                    break;
                case A.PresetPatternValues.NarrowHorizontal:
                    result = "Narrow horizontal";
                    break;
                case A.PresetPatternValues.NarrowVertical:
                    result = "Narrow vertical";
                    break;
                case A.PresetPatternValues.OpenDiamond:
                    result = "Outlined diamond";
                    break;
                case A.PresetPatternValues.Percent10:
                    result = "10%";
                    break;
                case A.PresetPatternValues.Percent20:
                    result = "20%";
                    break;
                case A.PresetPatternValues.Percent25:
                    result = "25%";
                    break;
                case A.PresetPatternValues.Percent30:
                    result = "30%";
                    break;
                case A.PresetPatternValues.Percent40:
                    result = "40%";
                    break;
                case A.PresetPatternValues.Percent5:
                    result = "5%";
                    break;
                case A.PresetPatternValues.Percent50:
                    result = "50%";
                    break;
                case A.PresetPatternValues.Percent60:
                    result = "60%";
                    break;
                case A.PresetPatternValues.Percent70:
                    result = "70%";
                    break;
                case A.PresetPatternValues.Percent75:
                    result = "75%";
                    break;
                case A.PresetPatternValues.Percent80:
                    result = "80%";
                    break;
                case A.PresetPatternValues.Percent90:
                    result = "90%";
                    break;
                case A.PresetPatternValues.Plaid:
                    result = "Plaid";
                    break;
                case A.PresetPatternValues.Shingle:
                    result = "Shingle";
                    break;
                case A.PresetPatternValues.SmallCheck:
                    result = "Small checker board";
                    break;
                case A.PresetPatternValues.SmallConfetti:
                    result = "Small confetti";
                    break;
                case A.PresetPatternValues.SmallGrid:
                    result = "Small grid";
                    break;
                case A.PresetPatternValues.SolidDiamond:
                    result = "Solid diamond";
                    break;
                case A.PresetPatternValues.Sphere:
                    result = "Sphere";
                    break;
                case A.PresetPatternValues.Trellis:
                    result = "Trellis";
                    break;
                case A.PresetPatternValues.UpwardDiagonal:
                    // this isn't in the list, so I don't know the actual text. We'll guess...
                    result = "Upward diagonal";
                    break;
                case A.PresetPatternValues.Vertical:
                    // this isn't in the list, so I don't know the actual text. We'll guess...
                    result = "Vertical";
                    break;
                case A.PresetPatternValues.Wave:
                    result = "Wave";
                    break;
                case A.PresetPatternValues.Weave:
                    result = "Weave";
                    break;
                case A.PresetPatternValues.WideDownwardDiagonal:
                    result = "Wide downward diagonal";
                    break;
                case A.PresetPatternValues.WideUpwardDiagonal:
                    result = "Wide upward diagonal";
                    break;
                case A.PresetPatternValues.ZigZag:
                    result = "Zig zag";
                    break;
            }

            return result;
        }

        internal static System.Drawing.Bitmap GetVmlPatternFill(A.PresetPatternValues Preset)
        {
            // why did I generate the bitmap instead of cramping images as resources?
            // Because I don't wanna get sued by Microsoft. Even if the image files aren't copyrighted.
            // Even if I didn't use the original image files and painstakingly recreated them.
            // So I use a proxy, by generating them in-program instead.

            // Generating textures for use in a program during run-time? I feel like part
            // of the demoscene already. :)

            // Note that for 6 of the textures, I don't know what Microsoft Excel renders for them.
            // Even Microsoft Excel doesn't render them.
            // They are Cross, DiagonalCross, DownwardDiagonal, Horizontal, UpwardDiagonal and Vertical.
            // So why does PresetPatternValues enumeration have them? I don't know. Ask Microsoft.
            // So what happens is I generate my own version.
            // Oh relax, on the Excel user interface, these 6 options aren't available.
            // So you won't (probably) be subjected to my artistic talents.

            // Uh so how did I get these pixel values? Exercise, eating lots of vegetables,
            // and tons of painstakingly hard work. Hint: it involves writing code to process
            // image files and turn them into case statements. Then pasting said code case
            // statements here.
            // You think I'm gonna type them out with SetPixel()? Don't be ridiculous.

            System.Drawing.Bitmap bm = new System.Drawing.Bitmap(8, 8);

            switch (Preset)
            {
                case A.PresetPatternValues.Cross:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
                case A.PresetPatternValues.DarkDownwardDiagonal:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    break;
                case A.PresetPatternValues.DarkHorizontal:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
                case A.PresetPatternValues.DarkUpwardDiagonal:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    break;
                case A.PresetPatternValues.DarkVertical:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
                case A.PresetPatternValues.DashedDownwardDiagonal:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
                case A.PresetPatternValues.DashedHorizontal:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
                case A.PresetPatternValues.DashedUpwardDiagonal:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
                case A.PresetPatternValues.DashedVertical:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
                case A.PresetPatternValues.DiagonalBrick:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    break;
                case A.PresetPatternValues.DiagonalCross:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
                case A.PresetPatternValues.Divot:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
                case A.PresetPatternValues.DotGrid:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
                case A.PresetPatternValues.DottedDiamond:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
                case A.PresetPatternValues.DownwardDiagonal:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    break;
                case A.PresetPatternValues.Horizontal:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
                case A.PresetPatternValues.HorizontalBrick:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
                case A.PresetPatternValues.LargeCheck:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    break;
                case A.PresetPatternValues.LargeConfetti:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    break;
                case A.PresetPatternValues.LargeGrid:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
                case A.PresetPatternValues.LightDownwardDiagonal:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    break;
                case A.PresetPatternValues.LightHorizontal:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
                case A.PresetPatternValues.LightUpwardDiagonal:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
                case A.PresetPatternValues.LightVertical:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
                case A.PresetPatternValues.NarrowHorizontal:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
                case A.PresetPatternValues.NarrowVertical:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    break;
                case A.PresetPatternValues.OpenDiamond:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    break;
                case A.PresetPatternValues.Percent10:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
                case A.PresetPatternValues.Percent20:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
                case A.PresetPatternValues.Percent25:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
                case A.PresetPatternValues.Percent30:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    break;
                case A.PresetPatternValues.Percent40:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    break;
                case A.PresetPatternValues.Percent5:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
                case A.PresetPatternValues.Percent50:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    break;
                case A.PresetPatternValues.Percent60:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    break;
                case A.PresetPatternValues.Percent70:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    break;
                case A.PresetPatternValues.Percent75:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    break;
                case A.PresetPatternValues.Percent80:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    break;
                case A.PresetPatternValues.Percent90:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    break;
                case A.PresetPatternValues.Plaid:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
                case A.PresetPatternValues.Shingle:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    break;
                case A.PresetPatternValues.SmallCheck:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    break;
                case A.PresetPatternValues.SmallConfetti:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
                case A.PresetPatternValues.SmallGrid:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
                case A.PresetPatternValues.SolidDiamond:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
                case A.PresetPatternValues.Sphere:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
                case A.PresetPatternValues.Trellis:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    break;
                case A.PresetPatternValues.UpwardDiagonal:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
                case A.PresetPatternValues.Vertical:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
                case A.PresetPatternValues.Wave:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
                case A.PresetPatternValues.Weave:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    break;
                case A.PresetPatternValues.WideDownwardDiagonal:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    break;
                case A.PresetPatternValues.WideUpwardDiagonal:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    break;
                case A.PresetPatternValues.ZigZag:
                    bm = new System.Drawing.Bitmap(8, 8);
                    bm.SetPixel(0, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(0, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(0, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(1, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(1, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(2, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(2, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(3, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(3, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 3, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(4, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(4, 7, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 2, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(5, 6, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(5, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 0, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 1, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 4, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 5, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(6, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(6, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 0, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 1, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 2, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 3, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 4, System.Drawing.Color.FromArgb(255, 255, 255, 255));
                    bm.SetPixel(7, 5, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 6, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    bm.SetPixel(7, 7, System.Drawing.Color.FromArgb(255, 0, 0, 0));
                    break;
            }

            return bm;
        }
    }
}
